home *** CD-ROM | disk | FTP | other *** search
/ Champak 138 / Volume 138 Aug 19 2011 - Damaged.iso / Games / shadez.swf / scripts / Local / Game / HUD / CHUDIcon.as < prev    next >
Encoding:
Text File  |  2011-08-19  |  18.1 KB  |  657 lines

  1.  
  2. {
  3.    if(true)
  4.    {
  5.       CHUDIcon = ┬º┬ºnewclass(CHUDIcon,MovieClip);
  6.    }
  7. }
  8.  
  9. package Local.Game.HUD
  10. {
  11.    import Local.*;
  12.    import Local.Audio.*;
  13.    import Local.Game.Level.*;
  14.    import Local.Game.Thing.*;
  15.    import Local.Game.World.*;
  16.    import Local.Game.World.Map.*;
  17.    import Local.Game.World.Map.Cell.*;
  18.    import STC9.IO.*;
  19.    import STC9.System.*;
  20.    import flash.display.*;
  21.    import flash.events.*;
  22.    import flash.filters.*;
  23.    import flash.geom.*;
  24.    import flash.text.*;
  25.    
  26.    public class CHUDIcon extends MovieClip
  27.    {
  28.       
  29.       public static const IconHeight:int = 60;
  30.       
  31.       public static const LAUNCH:String = "LAUNCH";
  32.       
  33.       public static const RDCOMPLETE:String = "RDCOMPLETE";
  34.       
  35.       public static const IconWidth:int = 60;
  36.        
  37.       
  38.       private var mMaxBuildAmount:int;
  39.       
  40.       internal var mID:String;
  41.       
  42.       private var mBuildTime:int;
  43.       
  44.       private var mcControls:MovieClip;
  45.       
  46.       private var _BuildAmount:int;
  47.       
  48.       private var mcGraphic:MovieClip;
  49.       
  50.       public var mDesc_Launch:String = "launch";
  51.       
  52.       private var _Cost:Number;
  53.       
  54.       private var mMouseFilterID:String;
  55.       
  56.       private var mAction:String;
  57.       
  58.       private var aHilight:Boolean;
  59.       
  60.       public var mDesc_LaunchSelected:String = "launchselected";
  61.       
  62.       internal var mHUD:CHUD;
  63.       
  64.       private var mLibClass:String;
  65.       
  66.       private var mBuildCount:int;
  67.       
  68.       internal var mPanel:CHUDPanel;
  69.       
  70.       private var _Index:int;
  71.       
  72.       public var mDesc_Normal:String = "normal";
  73.       
  74.       public function CHUDIcon(param1:String, param2:MovieClip, param3:String, param4:Boolean, param5:Number, param6:Number, param7:Number, param8:String = "strike")
  75.       {
  76.          mDesc_Normal = "normal";
  77.          mDesc_Launch = "launch";
  78.          mDesc_LaunchSelected = "launchselected";
  79.          super();
  80.          if(param2.parent)
  81.          {
  82.             param2.parent.removeChild(param2);
  83.          }
  84.          addChild(param2);
  85.          mcGraphic = param2;
  86.          mcControls = mcGraphic.mcControls;
  87.          mID = param1;
  88.          mAction = param3.toUpperCase();
  89.          mBuildTime = param5;
  90.          mMaxBuildAmount = param6;
  91.          mBuildAmount = 0;
  92.          mCost = param7;
  93.          mBuildCount = 0;
  94.          mBuild = false;
  95.          mHilight = false;
  96.          mLaunch = false;
  97.          mLaunchAuto = false;
  98.          mLaunchSelected = false;
  99.          mInsufficientFunds = false;
  100.          mAvailable = param4;
  101.          aHilight = false;
  102.          mcControls.tbCount.visible = mMaxBuildAmount > 1;
  103.          mMouseFilterID = param8;
  104.          addEventListener(Event.ADDED_TO_STAGE,Initialize);
  105.       }
  106.       
  107.       public function get mBuild() : Boolean
  108.       {
  109.          return mcControls.mcBuild.visible;
  110.       }
  111.       
  112.       public function set mBuild(param1:Boolean) : void
  113.       {
  114.          if(mcControls.mcBuild.visible == param1)
  115.          {
  116.             return;
  117.          }
  118.          mcControls.mcBuild.alpha = 0;
  119.          mcControls.mcBuild.visible = param1;
  120.       }
  121.       
  122.       private function ACTION_SPAWN() : void
  123.       {
  124.          mHUD.mLevel[mAction + "_" + mID](mCost);
  125.       }
  126.       
  127.       public function get mMouse() : CMouse
  128.       {
  129.          return mHUD.mGame.mWorld.mMouse;
  130.       }
  131.       
  132.       public function set mInsufficientFunds(param1:Boolean) : void
  133.       {
  134.          if(mcControls.mcInsufficientFunds.visible != param1)
  135.          {
  136.             mcControls.mcInsufficientFunds.visible = param1;
  137.             Activate(!param1);
  138.          }
  139.       }
  140.       
  141.       public function MakeAvailable() : void
  142.       {
  143.          mAvailable = true;
  144.          Activate(true);
  145.       }
  146.       
  147.       public function Build() : Boolean
  148.       {
  149.          ┬º┬ºpush(mBuildAmount);
  150.          ┬º┬ºpush(mMaxBuildAmount);
  151.          if(true)
  152.          {
  153.             if(┬º┬ºpop() >= ┬º┬ºpop())
  154.             {
  155.                return false;
  156.             }
  157.             ┬º┬ºpush(mHUD);
  158.             if(true)
  159.             {
  160.                ┬º┬ºpush(┬º┬ºpop().mFunds);
  161.                if(true)
  162.                {
  163.                   ┬º┬ºpush(┬º┬ºpop() - mCost);
  164.                }
  165.                if(┬º┬ºpop() < 0)
  166.                {
  167.                   return false;
  168.                }
  169.                ┬º┬ºpush(mHUD);
  170.             }
  171.             ┬º┬ºpush(mHUD.mFunds);
  172.             if(true)
  173.             {
  174.                ┬º┬ºpush(┬º┬ºpop() - mCost);
  175.             }
  176.             ┬º┬ºpop().mFunds = ┬º┬ºpop();
  177.             mBuild = true;
  178.             ┬º┬ºpush(mBuildAmount);
  179.             ┬º┬ºpush(0);
  180.          }
  181.          if(┬º┬ºpop() == ┬º┬ºpop())
  182.          {
  183.             mBuildCount = 0;
  184.          }
  185.          var _loc1_:*;
  186.          var _loc2_:* = (_loc1_ = ┬º┬ºfindproperty(mBuildAmount)).mBuildAmount + 1;
  187.          _loc1_.mBuildAmount = _loc2_;
  188.          return true;
  189.       }
  190.       
  191.       private function e_ICON_UP(param1:MouseEvent = null) : void
  192.       {
  193.          if(true)
  194.          {
  195.             if(mLaunch)
  196.             {
  197.                if(false)
  198.                {
  199.                   addr55:
  200.                   CAudio.PlayGlobalSound(Click);
  201.                }
  202.             }
  203.             else if(aHilight)
  204.             {
  205.                if(true)
  206.                {
  207.                   if(CKeyboard.IsDown("CONTROL"))
  208.                   {
  209.                      if(true)
  210.                      {
  211.                         if(CancelBuild())
  212.                         {
  213.                            if(true)
  214.                            {
  215.                               CAudio.PlayGlobalSound(Click);
  216.                            }
  217.                         }
  218.                         ┬º┬ºgoto(addr58);
  219.                      }
  220.                   }
  221.                   else if(!mInsufficientFunds)
  222.                   {
  223.                      ┬º┬ºgoto(addr45);
  224.                   }
  225.                   return;
  226.                }
  227.                addr45:
  228.                if(Build())
  229.                {
  230.                   ┬º┬ºgoto(addr55);
  231.                }
  232.                ┬º┬ºgoto(addr58);
  233.             }
  234.          }
  235.          addr58:
  236.       }
  237.       
  238.       public function Process() : void
  239.       {
  240.          var _loc1_:Number = NaN;
  241.          if(true)
  242.          {
  243.             ┬º┬ºpush(mAvailable);
  244.             if(true)
  245.             {
  246.                if(!┬º┬ºpop())
  247.                {
  248.                   if(true)
  249.                   {
  250.                      return;
  251.                   }
  252.                }
  253.                else
  254.                {
  255.                   addr23:
  256.                   if(mBuild)
  257.                   {
  258.                      if(true)
  259.                      {
  260.                         var _loc2_:*;
  261.                         ┬º┬ºpush((_loc2_ = ┬º┬ºfindproperty(mBuildCount)).mBuildCount);
  262.                         if(true)
  263.                         {
  264.                            _loc2_.mBuildCount = _loc3_;
  265.                            var _loc3_:*;
  266.                            ┬º┬ºpush(_loc3_ = ┬º┬ºpop() + 1);
  267.                         }
  268.                         if(true)
  269.                         {
  270.                            _loc1_ = ┬º┬ºpop() / mBuildTime;
  271.                            if(true)
  272.                            {
  273.                               mcControls.mcBuild.alpha = 0.56;
  274.                               if(true)
  275.                               {
  276.                                  mcControls.mcBuild.gotoAndStop(Math.floor(_loc1_ * mcControls.mcBuild.totalFrames) + 1);
  277.                                  if(true)
  278.                                  {
  279.                                     if(_loc1_ >= 1)
  280.                                     {
  281.                                        this["ACTION_" + mAction]();
  282.                                     }
  283.                                     addr116:
  284.                                     ┬º┬ºpush(┬º┬ºfindproperty(mInsufficientFunds));
  285.                                     if(true)
  286.                                     {
  287.                                        if(mHUD.mFunds < mCost)
  288.                                        {
  289.                                           addr123:
  290.                                           ┬º┬ºpush(true);
  291.                                           if(true)
  292.                                           {
  293.                                           }
  294.                                        }
  295.                                        else
  296.                                        {
  297.                                           ┬º┬ºpush(false);
  298.                                        }
  299.                                        ┬º┬ºpop().mInsufficientFunds = ┬º┬ºpop();
  300.                                        ┬º┬ºgoto(addr136);
  301.                                     }
  302.                                     ┬º┬ºgoto(addr123);
  303.                                  }
  304.                                  _loc3_ = (_loc2_ = ┬º┬ºfindproperty(mBuildAmount)).mBuildAmount - 1;
  305.                                  if(true)
  306.                                  {
  307.                                     _loc2_.mBuildAmount = _loc3_;
  308.                                  }
  309.                               }
  310.                               addr103:
  311.                               if(mBuildAmount <= 0)
  312.                               {
  313.                                  addr105:
  314.                                  mBuild = false;
  315.                               }
  316.                               else
  317.                               {
  318.                                  mBuildCount = 0;
  319.                               }
  320.                               mcControls.tbCount.text = mBuildAmount;
  321.                               ┬º┬ºgoto(addr116);
  322.                            }
  323.                            ┬º┬ºgoto(addr105);
  324.                         }
  325.                         ┬º┬ºgoto(addr103);
  326.                      }
  327.                      ┬º┬ºgoto(addr105);
  328.                   }
  329.                }
  330.                ┬º┬ºgoto(addr116);
  331.             }
  332.             ┬º┬ºgoto(addr23);
  333.          }
  334.          addr136:
  335.       }
  336.       
  337.       public function get mLaunchAuto() : Boolean
  338.       {
  339.          return mcControls.mcLaunchAuto.visible;
  340.       }
  341.       
  342.       public function get mIndex() : int
  343.       {
  344.          return _Index;
  345.       }
  346.       
  347.       public function set mLaunchSelected(param1:Boolean) : void
  348.       {
  349.          if(true)
  350.          {
  351.             mcControls.mcLaunchSelected.visible = param1;
  352.          }
  353.       }
  354.       
  355.       public function get mLaunch() : Boolean
  356.       {
  357.          return mcControls.mcLaunch.visible;
  358.       }
  359.       
  360.       private function ACTION_CLAUNCH() : void
  361.       {
  362.          mLaunchAuto = true;
  363.       }
  364.       
  365.       private function e_LAUNCH_OUT(param1:MouseEvent = null) : void
  366.       {
  367.          mHilight = false;
  368.          mHUD.ResetDescription();
  369.       }
  370.       
  371.       public function set mIndex(param1:int) : void
  372.       {
  373.          _Index = param1;
  374.          visible = _Index < 5;
  375.       }
  376.       
  377.       public function set mLaunchAuto(param1:Boolean) : void
  378.       {
  379.          mcControls.mcLaunchAuto.visible = param1;
  380.       }
  381.       
  382.       private function ACTION_RD() : void
  383.       {
  384.          dispatchEvent(new Event(RDCOMPLETE));
  385.       }
  386.       
  387.       public function Deselect() : void
  388.       {
  389.          if(!mLaunchSelected)
  390.          {
  391.             return;
  392.          }
  393.          mLaunchSelected = false;
  394.          mMouse.removeEventListener(CMouse.ACTION_LAUNCHSTRIKE,e_ACTION_LAUNCHSTRIKE);
  395.       }
  396.       
  397.       public function get mAvailable() : Boolean
  398.       {
  399.          return !mcControls.mcAvailable.visible;
  400.       }
  401.       
  402.       private function e_LAUNCH_OVER(param1:MouseEvent = null) : void
  403.       {
  404.          mHilight = true;
  405.          ┬º┬ºpush(mHUD);
  406.          if(true)
  407.          {
  408.             ┬º┬ºpop().mDescription = mLaunchSelected ? mDesc_LaunchSelected : mDesc_Launch;
  409.             return;
  410.          }
  411.          ┬º┬ºgoto(addr17);
  412.       }
  413.       
  414.       public function set mHilight(param1:Boolean) : void
  415.       {
  416.          mcControls.mcHilight.visible = param1;
  417.       }
  418.       
  419.       public function Activate(param1:Boolean) : void
  420.       {
  421.          if(true)
  422.          {
  423.             mcControls.mcButton.addEventListener(MouseEvent.MOUSE_OVER,e_ICON_OVER);
  424.             if(true)
  425.             {
  426.                mcControls.mcButton.addEventListener(MouseEvent.MOUSE_OUT,e_ICON_OUT);
  427.                if(true)
  428.                {
  429.                   mcControls.mcButton.addEventListener(MouseEvent.MOUSE_UP,e_ICON_UP);
  430.                   mcControls.mcButton.buttonMode = true;
  431.                }
  432.                mcControls.mcButton.useHandCursor = true;
  433.             }
  434.             mHilight = false;
  435.          }
  436.       }
  437.       
  438.       private function e_ICON_OUT(param1:MouseEvent = null) : void
  439.       {
  440.          if(true)
  441.          {
  442.             aHilight = false;
  443.             if(true)
  444.             {
  445.                mHUD.ResetDescription();
  446.                if(true)
  447.                {
  448.                   if(!mInsufficientFunds)
  449.                   {
  450.                      ┬º┬ºgoto(addr30);
  451.                   }
  452.                }
  453.                return;
  454.             }
  455.             ┬º┬ºgoto(addr30);
  456.          }
  457.          addr30:
  458.          mHilight = false;
  459.       }
  460.       
  461.       public function get mInsufficientFunds() : Boolean
  462.       {
  463.          return mcControls.mcInsufficientFunds.visible;
  464.       }
  465.       
  466.       public function set mLaunch(param1:Boolean) : void
  467.       {
  468.          mcControls.mcLaunch.visible = param1;
  469.       }
  470.       
  471.       private function SetMouseLaunch(param1:MovieClip) : void
  472.       {
  473.          if(true)
  474.          {
  475.             param1.addEventListener(MouseEvent.MOUSE_OVER,e_LAUNCH_OVER);
  476.             if(true)
  477.             {
  478.                param1.addEventListener(MouseEvent.MOUSE_OUT,e_LAUNCH_OUT);
  479.                if(true)
  480.                {
  481.                   param1.addEventListener(MouseEvent.MOUSE_UP,e_LAUNCH_UP);
  482.                }
  483.                param1.buttonMode = true;
  484.             }
  485.             param1.useHandCursor = true;
  486.          }
  487.       }
  488.       
  489.       public function get mLaunchSelected() : Boolean
  490.       {
  491.          return mcControls.mcLaunchSelected.visible;
  492.       }
  493.       
  494.       private function e_LAUNCH_UP(param1:MouseEvent = null) : void
  495.       {
  496.          var _loc2_:CHUDIcon = null;
  497.          for each(_loc2_ in mPanel.mIcons)
  498.          {
  499.             if(this != _loc2_)
  500.             {
  501.                _loc2_.Deselect();
  502.             }
  503.          }
  504.          if(!mLaunchSelected)
  505.          {
  506.             mLaunchSelected = true;
  507.             mHUD.mDescription = mDesc_LaunchSelected;
  508.             mMouse.mCurrentFilter = CMouse.mFilters[mMouseFilterID];
  509.             mMouse.addEventListener(CMouse.ACTION_LAUNCHSTRIKE,e_ACTION_LAUNCHSTRIKE);
  510.             CAudio.PlayGlobalSound(Click);
  511.          }
  512.       }
  513.       
  514.       private function set mBuildAmount(param1:int) : void
  515.       {
  516.          if(true)
  517.          {
  518.             _BuildAmount = param1;
  519.             mcControls.tbCount.text = String(_BuildAmount);
  520.          }
  521.       }
  522.       
  523.       public function get mHilight() : Boolean
  524.       {
  525.          return mcControls.mcHilight.visible;
  526.       }
  527.       
  528.       private function ACTION_NONE() : void
  529.       {
  530.       }
  531.       
  532.       private function e_ICON_OVER(param1:MouseEvent = null) : void
  533.       {
  534.          aHilight = true;
  535.          mHUD.mDescription = mDesc_Normal;
  536.          if(mInsufficientFunds)
  537.          {
  538.             return;
  539.          }
  540.          mHilight = true;
  541.       }
  542.       
  543.       public function Initialize(param1:Event = null) : void
  544.       {
  545.          if(true)
  546.          {
  547.             mPanel = MovieClip(parent).mPanel;
  548.             if(true)
  549.             {
  550.                mHUD = mPanel.mHUD;
  551.                if(true)
  552.                {
  553.                   removeEventListener(Event.ADDED_TO_STAGE,Initialize);
  554.                }
  555.                SetMouseLaunch(mcControls.mcLaunch);
  556.             }
  557.             SetMouseLaunch(mcControls.mcLaunchAuto);
  558.          }
  559.       }
  560.       
  561.       private function e_ACTION_LAUNCHSTRIKE(param1:Event = null) : void
  562.       {
  563.          if(true)
  564.          {
  565.             mLaunch = false;
  566.             if(true)
  567.             {
  568.                dispatchEvent(new Event(LAUNCH));
  569.             }
  570.             Deselect();
  571.          }
  572.       }
  573.       
  574.       private function get mBuildAmount() : int
  575.       {
  576.          return _BuildAmount;
  577.       }
  578.       
  579.       public function set mCost(param1:Number) : void
  580.       {
  581.          if(true)
  582.          {
  583.             _Cost = param1;
  584.             mcControls.tbCost.text = CHUD.NumberToDollar(Math.floor(_Cost));
  585.          }
  586.       }
  587.       
  588.       public function set mAvailable(param1:Boolean) : void
  589.       {
  590.          mcControls.mcAvailable.visible = !param1;
  591.       }
  592.       
  593.       public function get mCost() : Number
  594.       {
  595.          return _Cost;
  596.       }
  597.       
  598.       private function ACTION_LAUNCH() : void
  599.       {
  600.          mLaunch = true;
  601.       }
  602.       
  603.       public function CancelBuild() : Boolean
  604.       {
  605.          ┬º┬ºpush(mBuildAmount);
  606.          if(true)
  607.          {
  608.             ┬º┬ºpush(0);
  609.             if(true)
  610.             {
  611.                if(┬º┬ºpop() == ┬º┬ºpop())
  612.                {
  613.                   return false;
  614.                }
  615.                addr34:
  616.                ┬º┬ºpush(mHUD);
  617.                ┬º┬ºpush(mHUD.mFunds);
  618.                if(true)
  619.                {
  620.                   ┬º┬ºpush(┬º┬ºpop() + mCost);
  621.                }
  622.                ┬º┬ºpop().mFunds = ┬º┬ºpop();
  623.                ┬º┬ºpush(mBuildAmount);
  624.                ┬º┬ºpush(1);
  625.             }
  626.             if(┬º┬ºpop() == ┬º┬ºpop())
  627.             {
  628.                mBuild = false;
  629.             }
  630.             var _loc1_:*;
  631.             var _loc2_:* = (_loc1_ = ┬º┬ºfindproperty(mBuildAmount)).mBuildAmount - 1;
  632.             if(true)
  633.             {
  634.                _loc1_.mBuildAmount = _loc2_;
  635.             }
  636.             return true;
  637.          }
  638.          ┬º┬ºgoto(addr34);
  639.       }
  640.       
  641.       public function Dispose() : void
  642.       {
  643.          ┬º┬ºpush(mPanel);
  644.          if(true)
  645.          {
  646.             if(┬º┬ºpop())
  647.             {
  648.                addr14:
  649.                mPanel.RemoveIcon(this);
  650.             }
  651.             return;
  652.          }
  653.          ┬º┬ºgoto(addr14);
  654.       }
  655.    }
  656. }
  657.